UIEdgeInsetsMake(5, 20, 5, 20)
四個數值分別代表上、左、下、右。headerReferenceSize 及footerferenceSize
將CollectionView拉進storyboard。再將CollectionView及Layout與程式碼連結。
在ViewDidLoad中進行Layout的設定,也可以選右邊的屬性版來達到一樣的效果。
進行Cell的設定,包含identifier、cell內容實作等:先新增一個ImageView到CollectionView的cell中,並新增一個MyCustomCollectionViewCell的檔案。
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return sceneArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! MyCustomCollectionViewCell
cell.myCellImageView.image = UIImage(named: sceneArray[indexPath.row])
return cell
}
PS: 為了畫面上的美觀.重新設定Layout
myCollectionViewLayout.sectionInset = UIEdgeInsetsMake(5, 5, 5, 20)
myCollectionViewLayout.itemSize = CGSize(width: fullScreenSize.width/2-20, height: 200) //設定cell的size
myCollectionViewLayout.minimumLineSpacing = 5 //設定cell與cell間的縱距
執行結果如下圖:
func collectionView(_ collectionView: UICollectionView,
viewForSupplementaryElementOfKind kind: String,
at indexPath: IndexPath) -> UICollectionReusableView